﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZBJF.Warranty.Common.Enums.InsuranceWarranty;
using ZBJF.Warranty.Model;
using ZBJF.Warranty.Model.ViewModel.InsuranceWarranty;
using ZBJF.Warranty.Model.ViewModel.Order;

namespace ZBJF.Warranty.IBLL
{
    public partial interface IInsuranceWarrantyRecordService
    {
        InsuranceWarrantyRecord LoadByID(long id);

        IQueryable<InsuranceWarrantyRecord> LoadByInsuranceOrderId(long insuranceOrderId);
        bool IsExist(string warrantyRecordNo);
        bool IsExistWarrantyRecordNo(string warrantyRecordNo, decimal paymentedAmount, ref InsuranceWarrantyRecord existEntity);
        bool IsExistByUserNameReceivedPrice(string userName, decimal receivedAmount, ref InsuranceWarrantyRecord existEntity);
        IQueryable<InsuranceWarrantyRecord> GetPagingList(InsuranceWarrantyRecordModel model, out int total);
        /// <summary>
        /// 根据insuranceWarrantyRecordTaskType 获取报案页面
        /// </summary>
        /// <param name="insuranceWarrantyRecordTaskType"></param>
        /// <returns></returns>
        IQueryable<InsuranceWarrantyRecord> LoadByInsuranceWarrantyRecordTaskType(byte insuranceWarrantyRecordTaskType=0);
        /// <summary>
        /// 获取搜索的工单状态列表
        /// </summary>
        /// <returns></returns>
        List<byte> GetStatusList(InsuranceWarrantyRecordTaskType insuranceWarrantyRecordTaskType);
    }
}
